dx: auto-passphrase, review fixes, docs sidebar, content precision - #14
Merged
Conversation
- Drop --passphrase flag entirely; encrypted-file backend auto-generates a 256-bit random passphrase stored in identity.json (0o600) - detectAndCreate() shows progress via onProgress callback: each tier reports its result so users see why a backend was chosen - amesh list now shows "This device" section with device ID, name, backend, and created date - Thread identity.passphrase through all runtime paths (context.ts, agent.ts, shell-client.ts, amesh.ts, bootstrap.ts) - Add keyAlias? and passphrase? to Identity interface, remove type casts - AUTH_MESH_PASSPHRASE env var kept as silent backward-compat fallback
- Export BACKEND_LABELS, generatePassphrase from @authmesh/keystore - Remove duplicated Identity interfaces from agent.ts, shell-client.ts, sdk - Strip passphrase from memory after KeyStore creation (6 call sites) - Atomic write for identity.json in bootstrap.ts - Fix stale --passphrase error message in detect.ts - DX: role-neutral next steps, --force in warning, fix 0-device message - Update 28 stale doc references (--passphrase, init/list output samples) - ADR-010: passphrase colocation security decision
Content precision: - Fix "first that requires no shared secrets" (mTLS predates amesh) - Fix "Nothing to leak" → "One device" blast radius in comparison table - Qualify "Secrets on disk" for encrypted-file backend - Fix "Same as Signal and Bluetooth" → "similar to Bluetooth pairing" - Replace SOC2 claims with "per-device audit trail" - Fix non-existent ghcr.io Docker image reference - Fix Node.js REPL → Bun REPL in guide.md - Remove sales copy from technical docs (integration guide, docs hub) Docs sidebar: - New DocsSidebar.svelte (guides, reference, packages sections) - New /docs/+layout.svelte (sidebar + content flex layout) - Desktop: persistent left sidebar. Mobile: collapsible dropdown. Use cases nav: - Add Remote Shell to /use-cases index (was missing) - Make "Use Cases" navbar text a clickable link to /use-cases - Replace docs hub "Use Cases" grid with single cross-link
- Relay: add runtime check with install instructions when run without Bun - Encrypted-file backend: warning now says "SOFTWARE-PROTECTED only" and "not bound to hardware" (on both auto-detect and explicit --backend) - amesh list: backend line shows "(software-only — not hardware-bound)" when using encrypted-file, so users always know their security posture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--passphraseflag. Encrypted-file backend auto-generates a 256-bit random passphrase stored inidentity.jsonamesh initshows backend detection progressamesh list: "This device" section at topBACKEND_LABELS,generatePassphrase(),Identityexported from@authmesh/keystore; 6 duplicated interfaces removedDocsSidebar.svelte+/docs/+layout.svelte— persistent left nav for all doc pagesChanges
keystore —
BACKEND_LABELS,generatePassphrase()exported; stale error fixed; warning improvedcli + agent — Removed 4x
BACKEND_LABELS; removed inlineIdentityinterfaces; passphrase stripped from memory; role-neutral messagingsdk — Passphrase stripped from cached identity; atomic write in bootstrap.ts
docs — 28 stale references updated; guide.md precision fixes; ADR-010 (passphrase colocation)
landing page — Docs sidebar, comparison table fixes, SOC2 → "per-device audit trail", Remote Shell in use cases index, navbar link, content precision across 8 files
Test plan
bun run build— all 7 packages passbun run test— 182 tests pass (84 core + 38 keystore + 10 relay + 20 sdk + 15 agent + 15 cli)bun run lint— cleanbun run format:check— cleanamesh init -n testshows detection progress and auto-generated passphraseamesh listshows "This device" section🤖 Generated with Claude Code